package day230516;

import java.util.Scanner;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/5/16 13:11
 * 单词倒排
 */
public class Main01 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            char[] words = scan.nextLine().trim().toCharArray(); // 接收一行的输入, 并去除首尾的空格
            // 对句子进行预处理, 用一个空格分隔单词
            StringBuilder preprocessedString = new StringBuilder();
            boolean flag = true; // 用于标记第一个空格
            for (int i = 0; i < words.length; i++) {
                if (isAlpha(words[i])) {
                    // 如果是字母, 则直接拼接
                    preprocessedString.append(words[i]);
                    flag = true;
                } else if (flag) {
                    // 如果是分隔符则保留第一个
                    preprocessedString.append(' ');
                    flag = false;
                }
            }
            // 先反转整个字符串
            String res = preprocessedString.toString();
            res = reverseString(res, 0, res.length()-1);
            // 反转每个单词
            int start = 0;
            int end = 0;
            for (start = 0, end = 0; end < res.length(); end++) {
                if (res.charAt(end) == ' ') {
                    // start -> end-1 之间是一个单词
                    res = reverseString(res, start, end-1);
                    start = end + 1;
                }
            }
            res = reverseString(res, start, end-1); // 反转最后一个单词
            System.out.println(res); // 打印结果
        }
        scan.close();
    }

    // 判断字符是否为字母
    private static boolean isAlpha(char c) {
        return 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z';
    }

    // 反转指定索引范围内的字符串
    private static String reverseString(String s, int start, int end) {
        char[] tempArr = s.toCharArray();
        while (start < end) {
            char temp = tempArr[start];
            tempArr[start] = tempArr[end];
            tempArr[end] = temp;
            ++start;
            --end;
        }
        return new String(tempArr);
    }
}
